草庐IT

C++ regex_match 不工作

全部标签

mongodb - mgo collection.Find(nil).All(&users) 不工作

我有下一个问题..我无法从我的mongo数据库(在docker容器中运行)中获取所有记录,这是我非常简单的代码:typeUserstruct{Emailstring`json:"email"bson:"email"`Passstring`json:"pass"bson:"pass"`}session:=dbConnect()collection:=session.DB("my_db").C("users")varusers[]Usererr:=collection.Find(nil).All(&users)iferr!=nil{log.Fatal("Mongocollectionfin

regex - 在 ReplaceAllStringFunc 回调中获取组值

我试图用字符串中确定的数字范围用随机数替换字符串packagemainimport("fmt""math/rand""regexp""strconv")funcreplaceFunc(sstring)string{groups:=//??Howdoigetthecurrentmachgroupsreturnrand.Intn(groups[2]-groups[1])+groups[1]}funcmain(){rand.Seed(time.Now().Unix())repl:="1,101,501,121,21,3"repl=regexp.MustCompile("(\\d+),(\\d

使用 slice 类型的输入和输出 channel 去并发工作例程

我对Go语言比较陌生。尽管我不希望如此,但我可能会用一个愚蠢的问题来打扰你。我提前道歉,以防万一......这是我的示例:我定义了一个从main()调用的worker()函数作为一组并发Go例程。输入和输出数据通过slice类型[]int的输入和输出channel提供。在一种情况下,一切都按预期工作,在另一种情况下,结果是错误的。查看代码中的注释和代码下方的程序输出。老实说,我看不出这两种代码变体之间的实际区别。我在这里错过了什么?感谢您的任何建议!packagemainimport"fmt"import"runtime"funcworker(x_ch正确的输出(变体1):mainx:

go - 将所有项目都放在一个 GOPATH 工作区中有什么意义?

为什么有意义?我可以想到很多我想要很多工作空间的原因:我在两家公司工作。我有家庭项目和工作项目。我有多个go版本。我正在研究两个版本的库 最佳答案 GOPATH简化自动化,开发人员工具大量使用它,这是设计目标。和OSPATH一样,GOPATH是一个列表,即exportGOPATH=PATH1:PATH2:PATH3可以回答你的一些问题。 关于go-将所有项目都放在一个GOPATH工作区中有什么意义?,我们在StackOverflow上找到一个类似的问题: ht

regex - guid 的正则表达式

我在使用正则表达式时遇到一些问题。Error:Invalidoperationre:=regexp.MustCompile("(([a-f0-9]+\-)+[a-f0-9]+)\/(.*?)\/(.*?);version=(\d*)")match:=re.FindStringSubmatch(hex.EncodeToString([]byte(href)))fmt.Println(match)我要匹配的测试字符串是/data/1221a7f47-84c1-445e-a615-ff82d92e2eaa/article/jane;version=1493756861347/data/122

regex - 如何遍历正则表达式匹配组

假设我的数据是这样的:name=peterage=40id=99我可以创建一个正则表达式(\w+)=(\w+)要将姓名、年龄和ID匹配到组1,将peter、40、99匹配到组二。但是,我想遍历甚至选择性地遍历这些组。例如,如果group1的值是id,我想做不同的处理。所以算法就像//iteratethroughallthegroup1,ifIseegroup1valueis"id",thenIassignthecorrespondinggroup2keytosomeothervariable.E.g.,newVar=99我想做的第二件事是跳转到匹配组1的第三个实例并取出键“id”而不是

regex - 是否可以在 Golang 中提取字符串的一部分并在一次操作中替换这些部分?

假设我想从一个字符串中提取所有数字(很可能使用正则表达式匹配)并且我还想用通用占位符(如“#”)替换这些数字匹配。这很容易分两部分完成,先使用FindAll,然后使用ReplaceAll。但是,我对执行此类操作的性能成本深表怀疑。所以取一个字符串"sdasd3.2%sadas6...+8.9"替换为"sdasd#%sadas#...+#"得到一片[3.2,6.0,8.9]以尽可能高效的方式。编辑:我实现了regexp.FindAllString+regexp.ReplaceAllString并且对我的应用程序的性能影响非常小。我希望有空时尝试ElliotChance的方法并比较两者。

go - 无法让 GORM 协会按预期工作

我的两个模型是packagemodels//Business...typeBusinessstruct{IDuintNamestring`gorm:"notnull"`TablesTables`gorm:"ForeignKey:BusinessID"`}//Businesses...typeBusinesses[]Business和packagemodels//Table...typeTablestruct{IDuintRefstring`gorm:"notnull"`BusinessBusinessBusinessIDuint}//Tables...typeTables[]Table

regex - Go validator.v2 为正则表达式给出错误 "unknown tag"

我一直在努力理解为什么一些正则表达式在使用validator.v2时给我一个错误“Unknowntag”在golang中打包。它适用于某些正则表达式,但不适用于其中包含“{}”的某些正则表达式,并且当我使用validator.Validate()时,它在运行时给我一个错误“未知标记”。代码如下:typeCompanystruct{Namestring`validate:"regexp=^[a-zA-Z.]{1,100}$"`}这在运行时给我以下错误:Name:unknowntag但是这个正则表达式工作得很好typeCompanystruct{Namestring`validate:"r

regex - 去正则表达式不匹配

我正在尝试从自定义负载中提取JSON对象。我的正则表达式在这里工作正常:https://regex101.com/r/G5lBDC/1/但是Go没有返回任何匹配项re:=regexp.MustCompile(`/payload:\\"(.+?)\\\\\\"\\\\/g`)rawResponse:="version:1response:"rawJSON:=re.FindStringSubmatch(rawResponse)去Playgroundhttps://play.golang.org/p/XRfbExNa9V 最佳答案 你可以